test/median.test.js
zzmq.dev@gmail.com[dev3]/mathkit[add-median-numbers-function-returns] / test / median.test.js
@ e84ab4c7
Download
Ladder Summary
- file Add median function to compute the median of an array of numbers with comprehensive tests
import { test } from "node:test";
import assert from "node:assert/strict";
import { median } from "../src/median.js";
test("median with odd number of elements", () => {
assert.strictEqual(median([3, 1, 2]), 2);
assert.strictEqual(median([10, -5, 7, 3, 2]), 3);
});
test("median with even number of elements", () => {
assert.strictEqual(median([1, 2, 3, 4]), 2.5);
assert.strictEqual(median([7, 3, 5, 1]), 4);
});
test("median works on unsorted arrays", () => {
assert.strictEqual(median([9, 2, 7, 4, 5]), 5);
assert.strictEqual(median([8, 1, 6, 3]), 4.5);
});
test("median returns undefined for empty array or invalid inputs", () => {
assert.strictEqual(median([]), undefined);
assert.strictEqual(median(null), undefined);
assert.strictEqual(median("not an array"), undefined);
assert.strictEqual(median([1, 2, "three"]), undefined);
assert.strictEqual(median([1, NaN, 3]), undefined);
assert.strictEqual(median([Infinity, 1, 2]), undefined);
});